home *** CD-ROM | disk | FTP | other *** search
- ------------------------------------------------------------
- Release Notes for PIC16/17 Software Tools
- ------------------------------------------------------------
- 08/08/94
-
- This special edtion of the PIC16/17 Software Tools
- has been created for distribution with Microchip
- development systems. The versions of software provided
- on this diskette were the latest available at the time
- the disk was manufactured. Please refer to the notes later
- in this file to learn how you can obtain the latest
- software tools from Microchip.
-
- Attached are the concatenated release notes from MPASM
- version 1.02 Released and MPSIM version 4.20.
-
- ------------------------------------------------------------
- Release Notes for MPASM Version 1.02 Released
- August 5, 1994
- ------------------------------------------------------------
-
- ------------------------------------------------------------
- What's New
- ------------------------------------------------------------
-
- Version 1.02 Released is the commercial release of 1.01.07
- Intermediate. All of the notes herein are the same as those
- for the intermediate release:
-
- 1. CALL and GOTO instructions for the PIC16C74 have been
- fixed to generate proper object code when crossing a page
- boundary.
-
- 2. The logic has been improved for determining when a
- program memory page boundary has been crossed. This is now
- checked for CALL, GOTO/BRANCH and LCALL instructions for all
- applicable processor families; especially for the PIC16C57.
-
- 3. Error handling has been improved for cases where the
- CALL destination was not in the lower half of a program
- memory page. The improper object code is now shown in
- the listing, even though the destination is improper. As
- always, the .HEX file will not be generated, since this is a
- fatal ERROR.
-
- 4. Symbol values for SET, EQU, CONSTANT, VARIABLE
- and CBLOCK are now listed in a column of their own in the
- listing file. The heading now shows the "VALUE" column
- between the "LOC" and "OBJECT CODE" columns. This should
- improve the readability of the listing.
-
- 5. A stand-alone label (on a line by itself) now
- shows the label's address in the "LOC" column of the listing
- file. This prevents confusion, especially when the stand-
- alone label is followed by an ORG directive. The address of
- the preceding stand-alone label is NOT the address specified
- by the ORG.
-
- 6. Error messages, warning messages and informational
- messages all line up for ease of reading in the .LST file,
- in the .ERR file and on the screen (console).
-
- 7. The user may now specify a "warning level" to limit
- the severity of messages that will be displayed in the listing
- file. Through the use of either the command line "/w" option
- or the "list" directive "w=" option, all messages, Warnings
- and Error messages, or just Error messages can be displayed
- in the listing file.
-
- In general, a warning level of 0 (zero) enables all messages
- to be displayed. A warning level of 1 (one) enables Warning
- and Error messages to be displayed. And finally a warning
- level of 2 (two) enables only Error messages to be displayed.
-
- The default warning level is 0 (zero).
-
- 0 = All messages will display
- 1 = Only Warnings and Error messages will display
- 2 = Only Error messages will display
-
- From the command line use the following command line option:
-
- mpasm /wn <file name>
-
- where n is the desired warning level number.
-
- Using the "list" directive:
-
- list w=n
-
- Here again where n is the desired warning level number.
-
- In all cases, messages, warnings and Error conditions will
- be reported in the error file, and counted. The total count
- will be reported at the bottom of the listing file with a
- note if the class of message has been screened from the
- listing.
-
- ------------------------------------------------------------
- Contents
- ------------------------------------------------------------
-
- This document contains the following:
-
- 1. What's New
- 2. Contents
- 3. How to Contact Microchip
- 4. Overview of MPASM
- 5. Instructions on Using MPASM
- 6. Fixed SSRs (System Service Requests)
- 7. Current SSR List
- 8. Blank Bug Report Form
-
- ------------------------------------------------------------
- How To Contact Microchip
- ------------------------------------------------------------
-
- As with any software product, users may have questions about
- MPASM. These questions can be posed to Microchip in the
- following ways:
-
- 1. Contact your regional sales office.
-
- 2. Contact your local distributor or representative.
-
- 3. Connect worldwide to the Microchip BBS using the
- CompuServe communications network. In most cases a local
- call is your only expense. The Microchip BBS connection
- does not use CompuServe membership services, therefore you
- do not need CompuServe membership to use the Microchip BBS.
-
- The procedure to connect will vary slightly from country to
- country. Please check with your local CompuServe agent for
- details if you have a problem. CompuServe services allow
- multiple users at baud rates up to 9600.
-
- 4. Contact the Microchip Technology Development
- Systems Information and Upgrade Line at 1-800-755-2345 in
- the United States and parts of Canada and 1-602-786-7320
- from
- everywhere else.
-
- 5. Contact the Factory Applications Group.
-
- ------------------------------------------------------------
- Overview of MPASM
- ------------------------------------------------------------
-
- MPASM is a Universal Assembler. It supports the
- PIC16C5X, PIC16CXX and PIC17CXX families. This is a step
- forward toward more synergistic tools for the PIC16/17
- microcontrollers.
-
- One important goal for MPASM was to make it backward
- compatible with existing MPALC and ASM17 code. These two
- syntaxes have several conflicting requirements. For
- example, MPALC uses HEX as the default radix; ASM17 uses
- decimal.
-
- In large part, the compatibility issues have been addressed.
- You are still strongly advised to follow the instructions
- for converting MPALC and ASM17 code as detailed in the
- accompanying User's Guide.
-
- An item that will be added to the conversion guide is to
- recode your labels to eliminate the use of the ampersand
- ("@") and other special characters from your label names.
- Chapter 2 of the User's Guide describes valid MPASM labels.
-
- You are encouraged to make the migration to MPASM because it
- is a superior product with powerful features. MPASM is also
- the enabling technology (through its enhanced object file
- generation) for source level debug features in the PICMASTER
- version 1.13.
-
- A follow up release of MPASM is planned within the next
- couple of months to add the Linker and Librarian features.
-
- MPASM has been developed jointly by Byte Craft Limited of
- Waterloo, Ontario, Canada and Microchip Technology. Byte
- Craft is also developing MPC: the PIC16/17 'C' compiler.
-
- ------------------------------------------------------------
- Instructions on Using MPASM
- ------------------------------------------------------------
-
- 1. After making the source code changes noted in the
- MPASM User's Guide, assemble your code with MPASM, and fix
- any syntax problems noted. Using the command line:
-
- mpasm <file>[.asm]
-
- MPASM assembles with INHX8M as the default hex output, and
- generates a listing file and error file.
-
- 2. Source Code Display. To enable source code display
- in the PICMASTER Program Memory Dump window, the code that you
- are debugging must have been compiled with MPASM. The MPASM
- assembler creates a .COD file that contains the necessary
- source and object cross reference necessary to do source
- code display.
-
- To activate Source Code Display, select Utility from the
- main menu of PICMASTER, then select Screen Options from the
- drop-down menu. The Screen Options dialog box will appear.
- Select the Source Code Display Radio button and click on OK.
- The program memory dump window will reformat with your
- source code.
-
-
- 3. Version 4.13 and later of MPSIM provide basic symbol
- support for the MPASM symbol file (.COD) and the MPASM
- listing file. To enable this feature, invoke MPSIM with the
- "-C" option (implies enable COD input).
-
- ************************************************************
- NOTE: Version 4.16 and later of MPSIM use the MPASM symbol
- file (.COD) by default. The "-C" option is no longer
- required.
-
- 4. MPASM currently runs in DOS real mode, and is more
- sensitive to available DOS Memory than MPALC. This is
- because of dynamic memory allocation from the heap. If you
- have problems related to "out of memory" or I/O errors, try
- freeing up some DOS Memory. 530k seems to give good results
- even for very large programs. Less will be satisfactory for
- small programs.
-
- A DOS protected mode (DPMI) version of MPASM is currently in
- the works, which will allow MPASM to access all unused
- memory on your machine.
-
- 5. Eliminate any definitions of HIGH or LOW as values
- (e.g. 1 or 0 respectively) in your code or header files, if
- you want to use the HIGH and LOW arithmetic operators for
- getting the high or low bytes of a value.
-
- ------------------------------------------------------------
- System Service Requests (SSRs) Fixed Since Previous Release
- ------------------------------------------------------------
-
- The following list describes the SSRs that were fixed for
- this release:
-
- SSRID
- Description
-
- 337
- Symbol values in list file should be in separate column.
-
- 794
- No warning is given if crossing page boundary in PIC16C57.
-
- 880
- Address gets listed twice for DW within #V substitution.
-
- 943
- User's Guide said there is a directive for case sensitivity,
- when there isn't one. The documentation has been corrected.
-
- 1003
- Change WARNING for LCALL in non-paged processor to MESSAGE.
-
- 1009
- PIC16C74 CALL & GOTO generate bad object code when crossing
- page boundaries.
-
- 1013
- Label on line by itself should show address in LOC field of
- listing file.
-
- 1014
- Problem with error handling of CALL to wrong half of program
- memory page.
-
- ------------------------------------------------------------
- Current SSR (System Service Request) List
- ------------------------------------------------------------
-
- The list shown below is the current list of known problems
- related to MPASM. These problems (referenced by the
- respective SSR number) are tracked throughout the lifetime
- of the software product. Microchip Technology will make a
- best effort to resolve these problems as time and resources
- allow. If you encounter any problem or wish to see a new
- feature, please contact Microchip (see the second section of
- this document on how to contact Microchip).
-
- MPASM also has a number of outstanding design requests.
- Design requests are not represented in this list.
-
- SSR #
- Description
-
- 267
- '00000001'b notation to specify binary radix doesn't work.
-
- 289
- Enhance the ORG directive for programmable fuses.
-
- 299
- Implement ORGs above 32K boundary.
-
- 311
- Command line option /d not implemented.
-
- 338
- IF directive sometimes doesn't work when it's in column 1.
-
- 361
- ".ELSE IF and ELSE IF, if they appear on the same line
- give ""Too many arguments"" error."
-
- 516
- Backslash not supported for octal but does not giving warning.
-
- 635
- Sometimes a line with label in column other than one doesn't
- get printed in listing.
-
- 636
- Local macro labels do not always get flushed from symbol
- table.
-
- 876
- #UNDEFINE doesn't remove a defined constant from the symbol
- table. (Example: "#DEFINE three 3" then "#UNDEFINE three"
- leaves "3" in the symbol table.)
-
-
- ------------------------------------------------------------
- Release Notes for MPSIM Version 4.20 Released
- September 9, 1994
- ------------------------------------------------------------
-
- This release provides support for the PIC16C74 and PIC16C61 microcontrollers,
- and four new command features. The default assembler for MPSIM has been
- changed to MPASM. If you prefer to use MPALC, invoke MPSIM with the -s
- option.
-
- This document contains the following:
-
- 1. How to contact Microchip
- 2. Features with this version
- 3. Instructions on using the new features
- 4. Current SSR(System Service Request) List
- 5. Blank Bug Report Form
-
- ------------------------------------------------------------
- How To Contact Microchip
- ------------------------------------------------------------
-
- As with any software product, users may have questions about
- MPSIM. These questions can be posed to Microchip in the
- following ways:
-
- 1. Contact your regional sales office.
-
- 2. Contact your local distributor or representative.
-
- 3. Connect worldwide to the Microchip BBS using the
- CompuServe communications network. In most cases a local
- call is your only expense. The Microchip BBS connection
- does not use CompuServe membership services, therefore
- you do not need CompuServe membership to use the
- Microchip BBS.
-
- The procedure to connect will vary slightly from country
- to country. Please check with your local CompuServe
- agent for details if you have a problem. CompuServe
- services allow multiple users at baud rates up to 9600.
-
- 4. Contact the Factory Applications Group.
-
- ------------------------------------------------------------
- New Features in this Version
- ------------------------------------------------------------
- There are new commands for the following: simulating asynchronous
- events through functiton key-strokes, injecting a value to a
- file register at a specified program memory address, modifying
- EE memory manually on the PIC16C84, and assigning a clock to
- an I/O pin.
-
- MPSIM now supports both the MPALC and MPASM assemblers.
- The default assembler for MPSIM is now MPASM. To select MPALC
- as the desired assembler, invoke MPSIM with the -s option.
-
- In addition to support for PIC16C5X, 16C71, 16C84, and 16C64 this
- version provides support for the PIC16C74, PIC16C64, and PIC16C61
- microcontrollers and their peripherals with the following
- exceptions:
-
- SSP in I2C mode (SPI mode is supported)
- A/D conversion does not take place (16C74)
- USART transmit and receive do not take place
-
- The prescaler for timer0, timer1 and timer2, postscaler for timer2,
- and the sspsr can be added to the viewscreen and observed.
- All can be modified, except for the sspsr
-
- For more details about PIC16C61 or PIC16C74 support, please refer to
- the addendum of the device in question (in the MPSIM user's guide)
-
- ------------------------------------------------------------
- Instructions on Using the new Features
- ------------------------------------------------------------
- There is now a way to simulate an asynchronous event through
- a function keystroke. A new command to define the keys
- and the associated events is as follows:
-
- DK FnxKey#,pin,event
-
- FnxKey# is a number between 1 and 12
- pin is any valid I/O pin
- event can be [ H | L | T | P] - (high, low, toggle or pulse)
-
- Example: DK 1,RB0,T
- When ALT-F1 is typed while MPSIM is executing, RB0 will toggle. This
- can be used to simulate the INT interrupt.
-
- DK Displays assignment of all function keys
- DK FnxKey# Displays assignment of specified function key
- DK FnxKey#,- Cancels the specified function
- DK - Cancels all assignments
- -----------
-
- There is now a command to load stimuli from an ASCII file.
-
- FI filename,PMem,FReg [,n]
-
- filename is any valid DOS file name containing one hex value per line
- PMem is the point in program memory at which value should be injected
- FReg is file register addressss that the value should be placed. FReg can
- be any file register (except W), and can be specified by address or user-defined
- label. PMem can be either an absolute address (for example: 0x04) or can
- be a label defined in user code (for example: IntVct)
-
- FI - Closes the input file "filename".
-
- Example1: FI advals.txt,4,9
-
- Example2: FI advals.txt,IntVct,ADRES
-
- At the interrupt vector (program memory address 4), read the next
- value from the file and put it in the ADRES register (file reg 9).
-
- It is important to remember that user-defined labels (in your source code)
- are CASE-SENSITIVE, and that the FI command will issue an error stating
- that the label does not exist if it is not entered in the correct case.
-
- Sample file:
- 0x12
- 0x1A
- 0xF0
- 0x00
- .
- .
- .
- -----------
- There is a command to manually modify EE memory on the PIC16C84.
-
- EE address
-
- Example: EE 30
- The current (hex) value in location 30 will appear on the screen.
- EEMEMORY[30] = 89:12
- In this example, location 30 contains the vaue 0x89. After entering
- 0x12, the value in location 30 becomes 0x12.
- -----------
- There is a command to assign a clock to an I/O pin. The syntax is as
- follows:
-
- CK IOPin, HighCycles, LowCycles
-
- The IOPin will be driven high (1) for HighCycles and then driven low (0)
- for LowCycles.
-
- Example
-
- CK RTCC,5,5
-
- Drive the RTCC pin high for five cycles, and then low for five instruciton
- cycles. Up to four clocks can be assigned.
-
- CK Displays assignment of all clocks
- CK - Cancels all clocks
- CK -I/OPin Cancels clock on I/OPin
- -----------
- MPASM can leave the video mode of your PC in a
- state that is not compatible with MPSIM, so after running
- MPASM, reset your video mode using a command like:
-
- MODE CO80
- or
- CLS
- If you prefer to use MPSIM with MPALC, invoke MPSIM with the
- "-s" option.
-
- -----------
- Because prescalers and postscalers cannot be declared in
- your code as "registers", there are special labels that
- can be added to the viewscreen. You can add them as you
- normally would, specifying any radix to view them.
-
- The following are special items that can be
- added to the viewscreen.
-
- T0PRE - Presclaer for timer0
- T1PRE - Prescaler for timer1
- T2PRE - Prescaler for timer2
- T2POS - Postscaler for timr2
- CCP1PRE - Prescaler for CCP
- SPIPRE - Prescaler for SPI
- SSPSR - SSP Shift register
-
- Please remember that these labels are only available for
- appropriate members of the PIC16CXX family.
-
- ------------------------------------------------------------
- System Service Requests (SSRs) Fixed Since Previous Release
- ------------------------------------------------------------
-
- The following list describes the SSR's that were fixed for
- this release. In the next section of this text file you
- will find a list of the current SSR's.
-
- SSR #
- Description
-
- 972
- Indirect addressing from Page 0 not working with PIC16C64 and zeroed
- file registers in page1 modifiable through indirect addressing.
-
- 973
- Parallel Slave Port IBF bit cleared when bit test instruction
- executed.
-
- 971
- F3-F8 non-functional when used with the DK command.
-
- 930
- WREN bit in EECON1 is un-implemented.
-
- 931
- WRERR bit in EECON1 register not implemented.
-
- 375
- Stack underflow not handled properly for the 16CXX family
-
- 967
- Some non-modifiable Page1 registers on the 16C74 can be
- modified via indirect addressing
-
- 971
- (P)ulse option with DK command not working properly.
-
- 975
- RTCC not incrementing by external clock.
-
- 969
- MCLR reset not setting TO and PD bits correctly.
-
- 968
- Macros in MPASM listing files appear as disassembled object code
- instead of listing lines.
-
- 766
- SE command now allows user to modify both I/O Pins and entire
- port (useful for PSP - instead of .STI file)
-
- 976
- PCON not implemented.
-
- 960
- USART timing not correct.
-
- 678
- DR command does not display all registers.
-
- 977
- ADCON1 and ADCON0 registers have more bits than they should have.
-
- ------------------------------------------------------------
- Current SSR (System Service Request) List
- ------------------------------------------------------------
-
- The list shown below is the current list of known problems
- related to MPSIM. These problems (referenced by the
- respective SSR number) are tracked throughout the lifetime
- of the software product. Microchip Technology will make a
- best effort to resolve these problems in future releases.
- If you encounter any problem or wish to see a new
- feature, please contact Microchip (see the second section of
- this document on how to contact Microchip).
-
- MPSIM also has a number of outstanding design requests.
- Design requests are not represented in this list.
-
- SSR #
- Description
-
- 129
- File registers will sometimes wrap around to next line on
- viewscreen
-
- -----------------------------------------------------------
- Blank System Service Request
- -----------------------------------------------------------
-
-
- Blank System Service Request Form
- Microchip
- Product: ______________________________________________
-
- Description: ______________________________________________
-
- Date: ______________________________________________
-
- Version #: ______________________________________________
-
- Reported By: ______________________________________________
-
- Address: ______________________________________________
-
- ______________________________________________
-
- Phone: ______________________________________________
-
- Detailed
- Description: ______________________________________________
-
- ______________________________________________
-
- ______________________________________________
-
- ______________________________________________
-
- ______________________________________________
-
-
- Microchip
- Product: ______________________________________________
-
- Description: ______________________________________________
-
- Date: ______________________________________________
-
- Version #: ______________________________________________
-
- Reported By: ______________________________________________
-
- Address: ______________________________________________
-
- ______________________________________________
-
- Phone: ______________________________________________
-
- Detailed
- Description: ______________________________________________
-
- ______________________________________________
-
- ______________________________________________
-
- ______________________________________________
-
- ______________________________________________
-
-
- Microchip Technology System Service Request
- Fax to (602) 786-7578
-
-
-
-